// 导入fs和path模块
const fs = require('fs')
const path = require('path')

// 其中，\s 表示空白字符 ， \S 表示非空白字符
const regStyle = /<style>[\s\S]*<\/style>/

const regScript = /<script>[\s\S]*<\/script>/

fs.readFile(path.join(__dirname , 'index.html'),'utf-8',(err,data)=>{
  // 读取文件数据，然后准备写入

  if(err){
    return console.log('读取文件失败' +err.message)
  }



  // console.log(reg1)    //这里打印出来是一个数组
  // reg1[0] 这里包含了style 但是css 文件中不包含style标签

  fs.writeFile(path.join(__dirname,'index.css'),resolveCSS(data),'utf-8',(err,data)=>{
    if(!err){
      console.log('CSS文件写入成功')
    }
  })

  fs.writeFile(path.join(__dirname,'index.js'),resolveScript(data),'utf-8',(err,data)=>{
    if(!err){
      console.log('Script文件写入成功')
    }
  })

})


function resolveCSS (params) {
  // 将提取出来的字符串进行提取
  const reg1 = regStyle.exec(params)[0]
  
  const newReg1 = reg1.replace('<style>','').replace('</style>','')
  console.log(reg1)
  return newReg1
}

function resolveScript(params) {
    // 调用正则方法，匹配需要的文件，写入新的文件
    const reg2 = regScript.exec(params)[0]

    const newReg2 = reg2.replace('<script>' , '').replace('</script>','')
    
    return newReg2
}